package com.feather.common.data;

import java.util.List;
import java.util.Map;

import com.feather.common.converter.FieldAssignmentHelper;

/**
 * @author flogyin
 */
public interface DataTable extends DataItem {
	String getCatalog();

	void setCatalog(String catalog);

	String getSchema();

	void setSchema(String schema);

	String getName();

	void setName(String name);

	String getType();

	void setType(String type);

	String getRemarks();

	void setRemarks(String remarks);

	ColumnCollection getColumns();

	DataRowCollection getRows();

	void Clear();

	// DataTable copy();

	DataRow newRow();

	Object toObject(@SuppressWarnings("rawtypes") Class cls, FieldAssignmentHelper helper) throws Exception;

	List<Object> toList(@SuppressWarnings("rawtypes") Class cls, FieldAssignmentHelper helper) throws Exception;

	Object[] toArray(@SuppressWarnings("rawtypes") Class cls, FieldAssignmentHelper helper) throws Exception;

	List<Map<String, ?>> toMap();

	String toJson();

	String toXml();
}
